namespace OneWorks.Utils.FluentData
{
    using System;
    using System.Linq.Expressions;

    public interface IInsertUpdateBuilder<T>
    {
        BuilderData Data { get; }
        T Item { get; }
        IInsertUpdateBuilder<T> Column(string columnName, object value, DataTypes parameterType = DataTypes.Object, int size = 0);
        IInsertUpdateBuilder<T> Column(Expression<Func<T, object>> expression, DataTypes parameterType = DataTypes.Object, int size = 0);
    }

    public interface IInsertUpdateBuilder
    {
        BuilderData Data { get; }
        IInsertUpdateBuilder Column(string columnName, object value, DataTypes parameterType = DataTypes.Object, int size = 0);
    }
}